using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("UberShaderController")]
	public class UberShaderController : MonoBehaviour
	{
		public static int GUI_PROPERTY_LABEL_WIDTH => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "UberShaderController", "GUI_PROPERTY_LABEL_WIDTH");

		public int m_MaterialIndex => method_2<int>("m_MaterialIndex");

		public bool m_firstFrame => method_2<bool>("m_firstFrame");

		public float m_time => method_2<float>("m_time");

		public float m_deltaTime => method_2<float>("m_deltaTime");

		public List<Material> m_materials => method_3<Class251<Material>>("m_materials")?.method_25();

		public float m_lastTime => method_2<float>("m_lastTime");

		public float m_randomOffset => method_2<float>("m_randomOffset");

		public string m_copyBuffer => method_4("m_copyBuffer");

		public string m_copyBufferLayer => method_4("m_copyBufferLayer");

		public int m_copyBufferLayerCount => method_2<int>("m_copyBufferLayerCount");

		public float m_maxTime => method_2<float>("m_maxTime");

		public static bool s_autoSave => MonoClass.smethod_6<bool>(TritonHs.MainAssemblyPath, "", "UberShaderController", "s_autoSave");

		public static float s_autoSaveInterval => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "UberShaderController", "s_autoSaveInterval");

		public UberShaderController(IntPtr address, string className)
			: base(address, className)
		{
		}

		public UberShaderController(IntPtr address)
			: this(address, "UberShaderController")
		{
		}

		public static bool GetAutoSaveEnabled()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "UberShaderController", "GetAutoSaveEnabled", Array.Empty<object>());
		}

		public static float GetAutoSaveInterval()
		{
			return MonoClass.smethod_14<float>(TritonHs.MainAssemblyPath, "", "UberShaderController", "GetAutoSaveInterval", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void UpdateMaterials()
		{
			method_8("UpdateMaterials");
		}

		public void LoadUberShaderAnimationFromJson()
		{
			method_8("LoadUberShaderAnimationFromJson");
		}

		public void UpdateTime()
		{
			method_8("UpdateTime");
		}

		public void UpdateEditorTime()
		{
			method_8("UpdateEditorTime");
		}

		public void UpdateAnimation()
		{
			method_8("UpdateAnimation");
		}

		public void UpdateShaderIDs()
		{
			method_8("UpdateShaderIDs");
		}
	}
}
